package com.itheima.d1_file;

import java.io.File;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;

/**
     目标：掌握File提供的判断文件类型、获取文件信息功能
 */
public class FileTest2 {
    public static void main(String[] args) throws UnsupportedEncodingException {
        // 1.创建文件对象，指代某个文件
        File f1 = new File("D:/Java");

        // 2、public boolean exists()：判断当前文件对象，对应的文件路径是否存在，存在返回true.
        System.out.println(f1.exists());

        // 3、public boolean isFile() : 判断当前文件对象指代的是否是文件，是文件返回true，反之。
        System.out.println(f1.isFile());

        // 4、public boolean isDirectory()  : 判断当前文件对象指代的是否是文件夹，是文件夹返回true，反之。
        System.out.println(f1.isDirectory());

        // 5.public String getName()：获取文件的名称（包含后缀）
        System.out.println(f1.getName());

        // 6.public long length()：获取文件的大小，返回字节个数
        System.out.println(f1.length());

        // 7.public long lastModified()：获取文件的最后修改时间。
        long time = f1.lastModified();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        System.out.println(sdf.format(time));

        System.out.println("---------------------------getPath-----------------------");
        // 8.public String getPath()：获取创建文件对象时，使用的路径
        File f2 = new File("D:\\resource\\ab.txt");             //调用getPath输出的路径是D:\resource\ab.txt
        File f3 = new File("Day08File-Io-App\\src\\itheima.txt");    //调用getPath输出的路径是file-io-app\src\itheima.txt
        System.out.println(f2.getPath());
        System.out.println(f3.getPath());
        System.out.println(f2.exists());        //f2路径是不存在的ab文件，但是也可以返回路径，但是没有创这个路径的对象
        System.out.println(f3.exists());

        System.out.println("------------------------------");
        // 9.public String getAbsolutePath()：获取绝对路径
        System.out.println(f2.getAbsolutePath());   //创建的f2文件对象用的本来就是绝对路径，所以也输出D:\resource\ab.txt，即使这个路径不存在
        System.out.println(f3.getAbsolutePath());   //f3路径也是不存在的，会拼接返回一个绝对路径

        System.out.println("------------------------自己试一试========================");
        File zeng1 = new File("D:\\java");
        File zeng2 = new File("D:/java");
        File zeng3 = new File("D:"+File.separator+"java");
        System.out.println(zeng1.exists());
        System.out.println("zeng2.length(): "+zeng2.length());
        System.out.println("zeng3.length(): "+zeng3.length());
        System.out.println("zeng3.getName(): "+zeng3.getName());
        System.out.println("zeng2.isFile(): "+ zeng2.isFile());
        System.out.println("zeng1.isDirectory(): "+zeng1.isDirectory());

        long zeng3l = zeng3.lastModified();
        SimpleDateFormat zengsdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("zengsdf.format(zeng3l): "+ zengsdf.format(zeng3l));

        System.out.println("zeng1.getPath(): "+zeng1.getPath());
        System.out.println("zeng3.getAbsolutePath(): "+zeng3.getAbsolutePath());

    }
}
